[% setvar title The Perl 6 Summary for the week ending 20040104 %]
<div id="archive-notice">
    <h3>This file is part of the Perl 6 Archive</h3>
    <p>To see what is currently happening visit <a href="http://www.perl6.org/">http://www.perl6.org/</a></p>
</div>
<div class='pod'>
<a name='The Perl 6 Summary for the week ending 20040104'></a><h1>The Perl 6 Summary for the week ending 20040104</h1>
<p>What a surprise, a scant week after the last Perl 6 Summary of 2003,
it's the first Perl 6 Summary of 2004. Will wonders never cease?
Without further ado, we'll start with perl6-internals as usual.</p>
<a name='Garbage Collection Tasks'></a><h2>Garbage Collection Tasks</h2>
<p>Dan noted that a copying garbage collector doesn't play that well with
threads so he proposed a twofold task to fix things.</p>
<ul>
<li><a name='1'></a>1</li>
<p>The GC and memory allocation APIs need to be formalized and abstracted
in order to allow for changing the GC mechanism when threads come into
play.</p>
<li><a name='2'></a>2</li>
<p>Someone needs to implement a more traditional, non-moving GC as an
alternative to the copying collector.</p>
</ul>
<a name='Plugging Parrot into Mozilla'></a><h2>Plugging Parrot into Mozilla</h2>
<p>Stephane Peiry posted a set of patches to allow a parrot plugin for
Mozilla. Not satisfied with this (but pretty darned impressed all the
same) Sam Vilain noted that it would be nice if someone wrote an
ECMAscript front-end to Parrot. Patches welcome Sam.</p>
<p><a href='http://groups.google.com/groups?selm=a06010201bc16014403dd@' target='_blank'>groups.google.com</a>[10.0.1.2]</p>
<a name='Problems with make test'></a><h2>Problems with <code>make test</code></h2>
<p>Harry Jackson couldn't get his build of parrot to finish running
<code>make test</code>. After a certain amount of thrashing about by the team,
Dan narrowed it down to issues with the mutant '2.96' version of GCC
that some versions of Red Hat used for a while. This is currently the
list's best guess as to the root of the problem, but it's not
absolutely certain. If it does turn out to be the compiler, the config
suite will have to be rejigged to detect and warn.</p>
<p><a href='http://groups.google.com/groups?selm=20031229221255.12911.qmail@onion.perl.org' target='_blank'>groups.google.com</a></p>
<a name='Threading threads'></a><h2>Threading threads</h2>
<p>They're everywhere! And I despair of summarizing them. So I
won't. Here's the root messages for anyone interested enough. Once
things have died down and we know how threading is going to work in
Parrot I'll summarize that.</p>
<p>Dan opened the floodgates and asked anyone who was serious about their
particular Right Way To Do Threading to write things up as a proper
proposal. He outlined the constraints that Parrot's threading will be
working under and encouraged everyone to speak now or forever hold
their peace.</p>
<p><a href='http://groups.google.com/groups?selm=1BAB64E0-3AE5-11D8-9E96-000502994722@mac.com' target='_blank'>groups.google.com</a></p>
<p><a href='http://groups.google.com/groups?selm=a06010202bc176658b1c7@' target='_blank'>groups.google.com</a>[172.24.18.98]</p>
<p><a href='http://groups.google.com/groups?selm=a06010205bc17976efc33@' target='_blank'>groups.google.com</a>[172.24.18.98] -- Dan says put up or shut up</p>
<p><a href='http://groups.google.com/groups?selm=3FF2D35D.2090707@toetsch.at' target='_blank'>groups.google.com</a></p>
<p><a href='http://groups.google.com/groups?selm=1106_1072984463@nntp.perl.org' target='_blank'>groups.google.com</a></p>
<p><a href='http://groups.google.com/groups?selm=9227ACBD-3CB1-11D8-9E96-000502994722@mac.com' target='_blank'>groups.google.com</a></p>
<p><a href='http://groups.google.com/groups?selm=a06010200bc1cfc809cde@' target='_blank'>groups.google.com</a>[10.0.1.2]</p>
<p><a href='http://groups.google.com/groups?selm=a0601020abc1e255347d5@' target='_blank'>groups.google.com</a>[10.0.1.2] -- Dan offers up common
terminology</p>
<a name='Don't use IMCC macros'></a><h2>Don't use IMCC macros</h2>
<p>Bernhard Schmalhofer found what looked like a bug in IMCC's macro
support. This prompted Melvin Smith to expedite the removal of IMCC
macro support as threatened some weeks ago. However, it turned out
that that wasn't actually the seat of the bug. But if you like IMCC
macros now is the time to make a <i>very</i> good case to Melvin, I doubt
you'll convince him though; macros belong in a preprocessor.</p>
<p><a href='http://groups.google.com/groups?selm=1072802718.3ff1ab9e10ebc@maxplanck.biomax.de' target='_blank'>groups.google.com</a></p>
<a name='wxWindows support?'></a><h2>wxWindows support?</h2>
<p>David Cuny wondered if Parrot's objects were not at the point where
it's possible to interface wxWindows to Parrot. So far he's been
Warnocked.</p>
<p>Just try implementing it David.</p>
<p><a href='http://groups.google.com/groups?selm=200312310021.20878.dcuny@lanset.com' target='_blank'>groups.google.com</a></p>
<a name='Win32 Core Dumps'></a><h2>Win32 Core Dumps</h2>
<p>Dan's a fan of core dumps (when appropriate) and wondered if there was
a way of getting windows to either produce a core dump or attach a
debugger to a crashed process. Vladimir Lipsky and Nigel Sandever gave
good answers.</p>
<p><a href='http://groups.google.com/groups?selm=a06010206bc1895ed462f@' target='_blank'>groups.google.com</a>[10.0.1.2]</p>
<a name='The Piemark is ready'></a><h2>The Piemark is ready</h2>
<p>Dan forwarded the announcement that the Pie-thon Parrot Benchmark
(which I've unilaterally decided to call the Piemark) code is
ready. Let's make sure it's Guido not Dan who gets Pie eyed in
Portland this year.</p>
<p><a href='http://groups.google.com/groups?selm=a06010200bc18c1883507@' target='_blank'>groups.google.com</a>[172.24.18.98]</p>
<p><a href='ftp://ftp.python.org/pub/python/parrotbench/parrotbench.tgz'>ftp.python.org</a></p>
<a name='Object System?'></a><h2>Object System?</h2>
<p>Luke Palmer wondered what work was needed to finish up Parrot's object
system. Judging by Leo's response there are name mangling issues that
need deciding on, and we're not quite sure who's supposed to be making
the decision. Dan?</p>
<p><a href='http://groups.google.com/groups?selm=20031231210619.GA27582@babylonia.flatirons.org' target='_blank'>groups.google.com</a></p>
<a name='Enhancements for the debugger'></a><h2>Enhancements for the debugger</h2>
<p>Whilst wearing his employee implementing a large project targetting
Parrot hat, Dan has been using IMCC's debugging facilities. This led
to a bunch of suggestions/decisions about how these could be improved.</p>
<p><a href='http://groups.google.com/groups?selm=a06010203bc1b7e26d061@' target='_blank'>groups.google.com</a>[10.0.1.2]</p>
<a name='NCI callback functions'></a><h2>NCI callback functions</h2>
<p>Leo isn't enamoured of the current PDD16 design of callbacks in NCI,
so he proposed a new design. Dan seemed to think that this proposal
smacked of getting a little to sophisticated to early, arguing that
the best thing to do was to flesh out what's there (and get it
working) before using it as a base on which to build. This means that,
once his work deadline is out of the way, we should be expecting some
better examples in PDD16. And we'll be reminding Dan of this in a
couple of weeks' time.</p>
<p><a href='http://groups.google.com/groups?selm=3FF86732.6090405@toetsch.at' target='_blank'>groups.google.com</a></p>
<a name='Meanwhile in perl6-language'></a><h1>Meanwhile in perl6-language</h1>
<p>Nobody said anything. But that's boring, so on Friday I sent an email
out to various denizens of the Perl 6 mailing lists asking them for
their thoughts on where Perl 6 stands today and where they think it's
going in the next 12 months. I'm pleased to say that, despite the
ludicrously short notice, a decent number of people responded.</p>
<p>Everyone was remarkably consistent about where they think Perl 6 will
be in the next year, they all expect to see a 'useful' alpha released
and running on Parrot by the end of next year. Nat Torkington said
that he didn't expect &quot;any more unexpected delays -- I believe the
doctors have run out of things to remove from Larry.&quot; and I think I am
sure we all hope he's right, especially about the second part.</p>
<p>Leo T&ouml;tsch said that back when he answered the &quot;Who's Who in
Perl 6&quot; questionnaire back in 2002, he'd said he thought Perl 6 would
be out on 16 September 2004. He asked to increment the year of that
prediction by at least one. Austin Hastings reckoned that we'd have a
usable early version of Perl 6 sometime in Q2 or Q3, and expects the
object apocalypse some time in Q1. However, he expected that there'd
be fairly substantial exegesis drift from the original apocalypse to
the 'real' design. Austin thinks that Perl 6's main 'cultural' impact
will be grammars, arguing that in 10 years time 'getting coders to
stop parsing characters, getting them instead to think, code, and word
in terms of &quot;sentences&quot; or &quot;paragraphs&quot; will be considered a turning
point.' Don't tell Austin this, but I remember Ward Cunningham saying
something similar (but less emphatic) to me after Damian's
Perl6::Rules presentation at OSCON 2003.</p>
<p>Allison Randal's in the slightly less bullish camp, arguing that it
should be possible to produce a reasonably solid Perl 6 alpha in about
3 apocalypses time. She reckoned that we may see Apocalypses 12, 17
and 9 finished this year, and maybe a working prototype Perl 6
compiler. Allison's house mate, chromatic, reckoned that we were about
80% done now (I'm not sure if he was deliberately invoking the old saw
that the first 80% takes 80% of the time, and the last 20% takes the
other 80% of the time...). He predicted that:</p>
<ul>
<li><a name='1'></a>1</li>
<p>Dan will win his bet with Guido, and that the Python.Net people will
be so embarrassed by the piemark that they won't publish numbers.</p>
<li><a name='2'></a>2</li>
<p>Perl 6 won't quite be self-hosting, but it'll be usable for small
apps.</p>
<li><a name='3'></a>3</li>
<p>NCI will continue to be much nicer than XS.</p>
<li><a name='4'></a>4</li>
<p>Apocalypse 12 will convince everyone that Roles are what object
orientation should have had from the beginning.</p>
</ul>
<p>Asked for pithy comments, chromatic gave good pith, noting that if he
'had a test case from everyone who asked  &quot;When'll it be done&quot; and
code to pass a test case from everyone who said &quot;I'd like to help, but
I don't know where to start&quot;...' then he'd happily check them into the
repository. He also said that anyone who 'wants to revive the Perl 6
Documentation project, start turning Apocalypses and Exegeses into
story cards, and story cards into tests' would be his hero. And mine
too. He didn't mention <a href='http://p6stories.kwiki.org/' target='_blank'>p6stories.kwiki.org</a> so I'll do that
instead.</p>
<p>Adam Turoff sounded a note of caution; he worries that Perl 6 'is
Larry's Modula 2' but he doesn't think that matters because the real
boon is Parrot (and Ponie) which has the potential to open the
existing work on CPAN up to any language that targets Parrot
(potentially making good work in other languages available to us
Perlers too). He didn't think that Perl 6 will offer enough of an
incentive for people to move to the new language from Perl 5. Indeed,
he argued that the changes in syntax will put people off making the
shift. We discussed this on AIM, personally I think Adam's wrong, and
that Perl 6 will have enough good new stuff in it that people will
bite the bullet of the new syntax (and the changes are reasonably
simple after all) in order to get access to Perl 6's goodies. Adam
certainly sees the change from Perl 5 to 6 as qualitatively different
from the change from 4 to 5. He thinks people aren't going to switch
quickly (especially if Ponie fulfils their needs) and he points out
that it's going to be a few years before we've worked out the best
practices for using all this new stuff.</p>
<p>Sadly, I didn't get any feedback from Larry before my deadline (if I
do get something, rest assured it'll get space in next week's
summary). I did get a lot from everyone's favourite evil genius
though. Damian is alive, well and living in Australia. It seems that
his recent silence on p6l may have something to do with his hopes 'to
see Exegesis 7 published (along with a full Perl 5 implementation of
the new formatting module) by late January.' In other Conway related
news, he's attending linux.conf.au and will be attempting to describe
the top 100 features of Perl 6 in 30 minutes. After that, he's 'set
aside February through April to complete Perl6::Rules and a large test
suite for Perl 6 regular expressions, under a small grant generously
provided by The Perl Foundation'. Which can only be good news.</p>
<p>Me? I think Perl 6's design 'in the large' will be pretty much done
once Apocalypse 12 and its corresponding Exegesis are finished. Of
course, the devil is in the details, but I don't doubt that the hoped
for existence of a working Perl6::Rules by the end of April is going
to provide us with a great deal of the leverage we need to get a
working Perl 6 alpha ready for OSCON with something rather more solid
ready by the end of the year. Parrot continues to amaze and delight
with its progress; Dan tells me that he's about ready to roll out a
large parrot based application for his employers, so it's approaching
the point where people's salaries will depend on Parrot. I confess I
wouldn't be surprised if, by the end of the year, we haven't seen the
full implementation of at least one of the big non-Perl scripting
languages on top of Parrot.</p>
<a name='Acknowledgements, Apologies, Announcements.'></a><h1>Acknowledgements, Apologies, Announcements.</h1>
<p>Many thanks to those of you who took the time to answer my mail about
Perl 6 in the coming year. Apologies to anyone who I may have offended
by failing to ask them. If you've got strong opinions about where you
think Perl 6 is going, let me know; I'll either make space for them
next week make some space for discussion on my website.</p>
<p>If you find these summaries useful or enjoyable, show your
appreciation by contributing to the Perl Foundation to help support
the ongoing development of Perl. Money and time are both good. Also,
I'm always pleased to get feedback at <i><a href='http://search.cpan.org/perldoc?<a href='mailto:p6summarizer@bofh.org.uk'>p6summarizer@bofh.org.uk</a>'>p<a href='mailto:6summarizer@bofh.org.uk'>6summarizer@bofh.org.uk</a></a></i> and
traffic at my website.</p>
<p><a href='http://donate.perl-foundation.org/' target='_blank'>donate.perl-foundation.org</a> -- The Perl Foundation</p>
<p><a href='http://www.bofh.org.uk:8080/' target='_blank'>www.bofh.org.uk</a> -- My website, Just a Summary</p>
</div>
